#!/usr/bin/env python
"""
:mod:`pynchon.bio.aa`
=====================

Provides support form amino acid symbols, sequences and alignments.
"""

import numpy as np
from pynchon.core.symbol import Symbol0dS1, SymbolVector0dS1, SymbolArray0dS1
from pynchon.bio.data.alphabet import IUPAC_PROTEIN_ALPHABET, IUPAC_GAP


class AA(Symbol0dS1):
    """
    """
    metadata = (
                ('alphabet', IUPAC_PROTEIN_ALPHABET),
                ('elements', IUPAC_PROTEIN_ALPHABET)
                )
    fval = np.array(IUPAC_GAP[0], dtype=Symbol0dS1.data_type)


class AASeq(SymbolVector0dS1, AA):
    """
    """
    pass


class AAArr(SymbolArray0dS1, AASeq):
    """
    """
    pass


class AAAln(SymbolArray0dS1, AASeq):
    """
    """
    pass
